package cn.wolfcode.service;


import cn.wolfcode.domain.OrderInfo;

import java.util.Map;

/**
 * Created by wolfcode-lanxw
 */
public interface IOrderInfoService {
    /*
    *     秒杀逻辑
    * */
    void doSeckill(Long seckillId, String phone, String token);


    /*
    *     查询订单信息
    * */
    OrderInfo find(String orderNo);

    /*
    *     创建秒杀订单
    * */
    String createSeckillOrder(Long seckillId, String userPhone);

    /*
    *     订单支付超时检测
    * */
    void orderPayTimeoutCheck(String orderNo);

    /*
    *     订单支付   获取跳转到支付宝的html内容
    * */
    String pay(String orderNo);


    /**
     * 订单异步回调逻辑
     * @param params
     */
    void orderNotify(Map<String, String> params);

    /**
     * 订单同步回调逻辑
     * @param params
     */
    String orderReturn(Map<String, String> params);


    /*
    *     订单退款
    * */
    void refund(String orderNo);


    /**
     * 订单积分支付
     * @param orderNo
     */
    void payByIntegral(String orderNo);

    /**
     * 订单积分退款
     * @param orderInfo
     */
    void refundByIntergral(OrderInfo orderInfo);
}
